#include <iostream>
using std::cout;
using std::endl;
#define PI 3.14

//<>叫作模板参数列表，除了可以放类型参数，还可以放非类型参数
//()叫作函数参数列表
//kBase叫作非类型参数，必须为整型
template <class T = int,int kBase = 10>
T multiply(T x, T y){
	return x * y * kBase;
}

void test0(){
    //指定的优先级最高
    cout << multiply<double,20>(1.2,1.2) << endl;
    //推导的优先级高于默认值
    cout << multiply(1.2,1.2) << endl;
    cout << multiply(PI,PI) << endl;
}

int main(void){
    test0();
    return 0;
}
